//封装本地存储存储数据与读取数据方法
const TOKEN_KEY = "TOKEN"
const TOKEN_EXPIRE = 60 * 60 * 1000 // 1小时

//存储数据
export const SET_TOKEN = (token:string)=>{
    const tokenData = {
        token,
        timestamp: Date.now()
    }
    localStorage.setItem(TOKEN_KEY, JSON.stringify(tokenData))
}

//本地存储获取数据
export const GET_TOKEN = ()=>{
    const tokenData = localStorage.getItem(TOKEN_KEY)
    if (!tokenData) return null
    
    try {
        const {token, timestamp} = JSON.parse(tokenData)
        // 检查token是否过期
        if (Date.now() - timestamp > TOKEN_EXPIRE) {
            REMOVE_TOKEN()
            return null
        }
        return token
    } catch {
        REMOVE_TOKEN()
        return null
    }
}

//本地存储删除数据方法
export const REMOVE_TOKEN = ()=>{
    localStorage.removeItem(TOKEN_KEY)
}
